<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>流程图示例</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            margin: 0;
            padding: 20px;
            display: flex;
            background-color: #f0f2f5;
        }

        /* 左侧流程图容器 */
        .flowchart {
            flex: 0 0 300px;
            position: relative;
            padding: 2px 0;
        }

        /* 流程线 */
        .timeline {
            position: absolute;
            left: 5%;
            top: 40px;
            bottom: 40px;
            width: 4px;
            background-color: #2196F3;
            transform: translateX(-50%);
            border-radius: 2px;
        }

        /* 步骤节点 */
        .step-node {
            position: relative;
            display: flex;
            align-items: center;
            margin: 30px 0;
            cursor: pointer;
            transition: transform 0.2s;
        }

        .step-node:hover {
            transform: translateX(10px);
        }

        .step-circle {
            width: 30px;
            height: 30px;
            border-radius: 50%;
            background-color: #2196F3;
            color: white;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: bold;
            z-index: 1;
        }

        .step-text {
            margin-left: 20px;
            padding: 8px 15px;
            background-color: white;
            border-radius: 5px;
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
        }

        /* 右侧描述容器 */
        .description {
            flex: 1;
            padding: 20px 40px;
            background-color: white;
            border-radius: 10px;
            margin-left: 20px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        }

        .step-desc {
            display: none;
            padding: 20px;
            border-left: 3px solid #2196F3;
            background-color: #f8f9fa;
            margin-bottom: 20px;
        }

        .step-desc.active {
            display: block;
            animation: fadeIn 0.3s ease-in;
        }

        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(10px); }
            to { opacity: 1; transform: translateY(0); }
        }
    </style>
</head>
<body>
    <!-- 左侧流程图 -->
    <div class="flowchart">
        <div class="timeline"></div>
        <div class="step-node" data-step="1">
            <div class="step-circle">1</div>
            <div class="step-text">需求分析</div>
        </div>
        <div class="step-node" data-step="2">
            <div class="step-circle">2</div>
            <div class="step-text">需求分析</div>
        </div>
        <div class="step-node" data-step="3">
            <div class="step-circle">3</div>
            <div class="step-text">需求分析</div>
        </div>
        <div class="step-node" data-step="4">
            <div class="step-circle">4</div>
            <div class="step-text">需求分析</div>
        </div>
        <div class="step-node" data-step="5">
            <div class="step-circle">5</div>
            <div class="step-text">方案设计</div>
        </div>
        <div class="step-node" data-step="6">
            <div class="step-circle">6</div>
            <div class="step-text">开发实施</div>
        </div>
        <div class="step-node" data-step="7">
            <div class="step-circle">7</div>
            <div class="step-text">测试验收</div>
        </div>
        <div class="step-node" data-step="8">
            <div class="step-circle">8</div>
            <div class="step-text">部署上线</div>
        </div>
    </div>

    <!-- 右侧描述 -->
    <div class="description">
        <div id="desc-1" class="step-desc active">
            <h3>步骤 1: 需求分析</h3>
            <p>1、1111111111111111111111销售数据和市场趋势分析，预测未来产品需求量。</br>
                这是供应链管理的起点，直接影响后续所有环节。收集并分析用户需求，明确项目目标和范围，撰写需求文档并与客户确</br>
                文档并与客户确认。收集并分析用户需求，明确项目目标和范围，撰写需求文档并与客户确认。</br>
            </p>
        </div>
        <div id="desc-2" class="step-desc">
            <h3>步骤 2: 方案设计</h3>
            <p>222222222222222222222222222222222222222户需求，明确项目目标和范围，撰写需求文档并与客户确
                认。 收集并分析用户需求，明确项目目标和范围，撰写需求文档并与客户确认。收集并分析用户需求，明确项目目标和范围，撰写需求文档并与
                客户确认。 收集并分析用户需求，明确项目目标和范围，撰写需求文档并与客户确认。 收集并分析用户需求，明确项目目标和范围，撰写需求
                文档并与客户确认。收集并分析用户需求，明确项目目标和范围，撰写需求文档并与客户确认。</p>
        </div>
        <div id="desc-3" class="step-desc">
            <h3>步骤 3: 开发实施</h3>
            <p>333333333333333333333根据设计方案进行编码实现，完成模块开发，进行单元测试和集成测试。</p>
        </div>
        <div id="desc-4" class="step-desc">
            <h3>步骤 4: 测试验收</h3>
            <p>444444444444444444444进行系统测试、压力测试和用户验收测试，修复发现的问题，准备验收文档。</p>
        </div>
        <div id="desc-5" class="step-desc">
            <h3>步骤 5: 部署上线</h3>
            <p>5555555555555555555555部署到生产环境，进行系统监控，提供用户培训和技术支持。</p>
        </div>
        <div id="desc-6" class="step-desc">
            <h3>步骤 6: 部署上线</h3>
            <p>5555555555555555555555部署到生产环境，进行系统监控，提供用户培训和技术支持。</p>
        </div>
        <div id="desc-7" class="step-desc">
            <h3>步骤 7: 部署上线</h3>
            <p>5555555555555555555555部署到生产环境，进行系统监控，提供用户培训和技术支持。</p>
        </div>
        <div id="desc-8" class="step-desc">
            <h3>步骤 8: 部署上线</h3>
            <p>5555555555555555555555部署到生产环境，进行系统监控，提供用户培训和技术支持。</p>
        </div>
        <div id="desc-9" class="step-desc">
            <h3>步骤 9: 部署上线</h3>
            <p>5555555555555555555555部署到生产环境，进行系统监控，提供用户培训和技术支持。</p>
        </div>

    </div>

    <script>
        // 添加点击事件监听
        document.querySelectorAll('.step-node').forEach(node => {
            node.addEventListener('click', () => {
                const step = node.dataset.step;
                // 移除所有激活状态
                document.querySelectorAll('.step-desc').forEach(desc => {
                    desc.classList.remove('active');
                });
                // 显示对应描述
                document.querySelector(`#desc-${step}`).classList.add('active');
            });
        });
    </script>
</body>
</html>